home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / CSQUIGL.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  2KB  |  100 lines

  1. #if ! defined( SQUIGGLE_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define SQUIGGLE_CLASS_HEADER
  22.  
  23. class CSquiggleData : public CObject
  24. {
  25.    DECLARE_SERIAL( CSquiggleData )
  26.  
  27.    private:
  28.  
  29.       void m_Initialize( void );
  30.  
  31.    public:
  32.  
  33.       CSquiggleData();
  34.       CSquiggleData( const CSquiggleData *source_p );
  35.  
  36.       /*
  37.       ** Data Members
  38.       */
  39.  
  40.       CString    Start;
  41.       CString    Stop;
  42.       CTime      Time;
  43.       WORD       MinimumValue;
  44.       WORD       MaximumValue;
  45.       CWordArray Data;
  46.  
  47.       virtual ~CSquiggleData();
  48.  
  49.       virtual void Copy( const CSquiggleData * source_p );
  50.       virtual void Empty( void );
  51.       virtual void Serialize( CArchive& archive );
  52.       virtual WORD ValidRange( void );
  53. };
  54.  
  55. class CSquiggle : public CRectangle
  56. {
  57.    DECLARE_SERIAL( CSquiggle )
  58.  
  59.    private:
  60.  
  61.       void m_Initialize( void );
  62.  
  63.    protected:
  64.  
  65.       BOOL m_Automatically_Delete;
  66.  
  67.       CSquiggleData *m_Squiggle_Data_p;
  68.  
  69.       int m_NumberOfPoints;
  70.  
  71.       WORD m_NumberOfXGridLines;
  72.       WORD m_NumberOfYGridLines;
  73.  
  74.       DWORD m_LineThickness;
  75.       DWORD m_GridLineType;
  76.  
  77.       COLORREF m_GridLineColor;
  78.  
  79.       POINT *m_PointArray;
  80.  
  81.    public:
  82.  
  83.       CSquiggle();
  84.       CSquiggle( DWORD height, DWORD width, const CPoint& location, COLORREF fill_color, COLORREF line_color );
  85.  
  86.       virtual      ~CSquiggle();
  87.       virtual void  Copy( const CSquiggle *source_p );
  88.       virtual void  Draw( CDC& device_context );
  89.       virtual void  Empty( void );
  90.       virtual DWORD GetLineThickness( void ) const;
  91.       virtual void  Serialize( CArchive& archive );
  92.       virtual void  SetGridLineColor( COLORREF grid_line_color );
  93.       virtual void  SetGridLineType( DWORD type );
  94.       virtual void  SetLineThickness( DWORD thickness );
  95.       virtual void  SetNumberOfGridLines( WORD number_of_x_lines, WORD number_of_y_lines );
  96.       virtual void  SetSquiggleData( CSquiggleData * source_p, BOOL auto_delete = FALSE );
  97. };
  98.  
  99. #endif // SQUIGGLE_CLASS_HEADER
  100.